package com.ctshk.rpc.order.tour.service;

import com.ctshk.common.dto.Result;
import com.ctshk.common.model.PageResponse;
import com.ctshk.common.model.TokenUser;
import com.ctshk.rpc.order.tour.dto.SeriesOrderTouristQuitAddCalculationDTO;
import com.ctshk.rpc.order.tour.dto.SeriesOrderTouristQuitListDTO;
import com.ctshk.rpc.order.tour.dto.custom.ApprovalQuitInfoDTO;
import com.ctshk.rpc.order.tour.req.*;

/**
 * <p>
 * 系列团游客退团 服务类
 * </p>
 *
 * @author 谭响
 * @since 2021-01-29
 */
public interface ISeriesOrderTouristQuitService {

    /**
     * 列表
     */
    PageResponse<SeriesOrderTouristQuitListDTO> list(SeriesOrderTouristQuitListReq req);

    /**
     * 添加
     */
    Result add(SeriesOrderTouristQuitAddReq req);

    /**
     * 添加计算
     */
    Result<SeriesOrderTouristQuitAddCalculationDTO> addCalculation(SeriesOrderTouristQuitAddCalculationReq req);

    /**
     * 确认
     */
    Result confirm(SeriesOrderTouristQuitConfirmReq req, TokenUser currentUser);

    /**
     * 审核
     */
    Result approval(SeriesOrderTouristQuitApprovalReq req);

    /**
     * 审批中心-退团信息
     * @param req
     * @return
     */
    Result<ApprovalQuitInfoDTO> approvalQuitInfo(ApprovalIdReq req);
}
